package com.kcht.itsed.mws.aleframework.intf;

import com.kcht.itsed.mws.alemodel.CCSpec;
import com.kcht.itsed.mws.alemodel.Document;
import com.kcht.itsed.mws.alemodel.ECSpec;
import com.shhic.itsed.mws.deviceintf.RawTagOperationResult;

import java.util.List;

/**
 * 活动规则容器
 * 
 * 包括EC/CC规则，当他们有活动订阅时，规则会被放到这里，从而被调度起来
 * 
 * @author 张文硕
 *
 */
public interface IActiveSpecContainer {

	void addActiveEC(String ecSpecName, ECSpec ecSpec);

	void addActiveCC(String ccSpecName, CCSpec ccSpec);

	void removeEC(String ecSpecName);

	void removeCC(String ccSpecName);

	//获取所有规则，里面是对象数组，俩元素，第一个是名称，第二个是规则Spec
	List<Document> getAllSpecs();
	
	
	/**
	 * 反向分发标签结果
	 * @param tagRes
	 */
	void dispatchReverseTags(RawTagOperationResult tagRes);

	void notifyAllActiveSpecRefresh();

}
